package challenge._20;

import java.util.Arrays;
import java.util.Scanner;

/**
 * @author 挚爱之夕
 * @version 1.0
 * @implSpec
 * 小明今天收了N个鸡蛋，每个鸡蛋各有重量，现在小明想找M个重量差距最小的鸡蛋摆成一盒出售，输出符合条件的最重一盒鸡蛋的总重量
 * 输入说明：第一行，鸡蛋个数N(N<1000)  每盒个数M(M<N)；第二行，N个鸡蛋重量（浮点）
 * 输出说明：符合条件的最重一盒鸡蛋的总重量（保留2位小数）
 * 输入样例：8 4
 * 11  9 12 5 10 19 8 6
 * 输出样例：42.00
 * @since 2022 - 11 - 09 - 22:16
 * 5 6 8 9 10 11 12 19
 */
public class D {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int m = sc.nextInt();
        int[] nums = new int[n];
        for(int i = 0; i < n; i++) nums[i] = sc.nextInt();
        Arrays.sort(nums);
        int left = 0, min = Integer.MAX_VALUE, right;
        int index = -1;
        while(left + m - 1 < n){
            right = left + m - 1;
            if(nums[right] - nums[left] < min){
                min = nums[right] - nums[left];
                index = left;
            }else if(nums[right] - nums[left] == min){
                if(get(nums, left, m) > get(nums, index, m)){
                    index = left;
                }
            }
            left++;
        }
        System.out.printf("%.2f", get(nums, index, m));
    }
    static double get(int[] nums, int left, int len){
        double res = 0;
        for(int i = left; i < left + len; i++){
            res += nums[i];
        }
        return res;
    }
}
